package com.intelligent.mapper;

import com.intelligent.pojo.Workshops;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author lenovo
* @description 针对表【workshops(车间信息表)】的数据库操作Mapper
* @createDate 2025-08-30 14:48:49
* @Entity com.intelligent.pojo.Workshops
*/
public interface WorkshopsMapper extends BaseMapper<Workshops> {

    /**
     * 分页查询车间信息（关联用户表）
     * @param page 分页参数
     * @param workshopCode 车间编号（可选）
     * @param workshopName 车间名称（可选）
     * @param username 负责人用户名（可选）
     * @param status 状态（可选）
     * @return 分页结果
     */
    IPage<Workshops> selectWorkshopsPage(Page<Workshops> page, 
                                        @Param("workshopCode") String workshopCode,
                                        @Param("workshopName") String workshopName,
                                        @Param("username") String username,
                                        @Param("status") Integer status);

    /**
     * 根据ID查询车间信息（关联用户表）
     * @param id 车间ID
     * @return 车间信息
     */
    Workshops selectWorkshopsById(@Param("id") Long id);

    /**
     * 插入车间信息
     * @param workshops 车间信息
     * @return 影响行数
     */
    int insertWorkshop(Workshops workshops);

    /**
     * 查询最大车间编号
     * @return 最大车间编号
     */
    String selectMaxWorkshopCode();

    /**
     * 更新车间信息
     * @param workshops 车间信息
     * @return 影响行数
     */
    int updateWorkshop(@Param("workshops") Workshops workshops);

    /**
     * 根据ID删除车间信息
     * @param id 车间ID
     * @return 影响行数
     */
    int deleteWorkshopById(@Param("id") Long id);

}




